#pragma once
#include <string>
#include <vector>
enum class ConfigKey {
    PORT,
    BUFFER_SIZE,
    BACKLOG,
    MAX_EVENTS,
    EPOLL_TIMEOUT,
    THREAD_POOL_SIZE,
    HEARTBEAT_INTERVAL,
    CONNECTION_TIMEOUT
};

// 配置项描述结构
struct ConfigOption {
    ConfigKey key;
    std::string short_name;
    std::string long_name;
    std::string description;
    std::string value_type;
};
// 帮助信息
void print_help();
void parse_command_line(int argc, char *argv[], std::unordered_map<ConfigKey, int> &config);
void show_config_info(std::unordered_map<ConfigKey, int> &config) ;